EventBridgeを使用してWorkSpacesログインイベントのログを記録してみた。
概要
この記事では、EventBridgeを使用してWorkSpacesログインイベントのログを記録してみました。ここでは、WorkSpaces へのログイン時に Lambda 関数を呼び出す EventBridge ルールを作成しました。Lambda関数は、イベントをCloudWatch Logsに記録します。
作成するリソース:
- Directory Service
- AWS WorkSpaces
- Lambda 関数
- EventBridge ルール
やってみた
前提条件
- Directory Serviceを使用して Active Directory ( AWS Managed Microsoft AD or Simple AD or AD Connector )を作成しておきます。
- ディレクトリを使用して WorkSpacesを作成しておきます。
- Reference : Launch WorkSpaces with Active Directory.
- ここでは、AD Connector を使用して WorkSpacesを作成しました。
- Reference : AD Connector を使用して WorkSpacesを作成する方法
AD Connector
WorkSpaces
Lambda 関数の作成
- 関数名を入力して、Runtimeで Node.js 16.x を選択して、Lambda 関数を作成しておきます。
- 既存のLambdaコードを次のコードに置き換えます。
exports.handler = (event, context, callback) => { console.log('LogWorkSpacesLoginEvents'); console.log('Event:', JSON.stringify(event, null, 2)); callback(null, 'Finished'); };
EventBridge ルールの作成
- EventBridge コンソールのナビゲーションペインで [Rules] を選択しておきます。
- [Create rule]をクリックしておきます。
- ルール名を入力し、[Rule with an event pattern]としてルールタイプを選択しておきます。
- 次の設定でイベントパターンを定義しておきます。
- Event source : AWS services
- AWS service : WorkSpaces
- Event type : WorkSpaces Access
- ターゲットの詳細を入力しておきます。
- Target types: AWS service
- Target : Lambda Function
- Function: 以前に作成したLambda関数を選択しておきます。
テストする
- WorkSpaces にログインすると、Lambda 関数がイベントをログに記録します。
- CloudWatch Logsで、イベントがログに記録されていることを確認できます。
まとめ
EventBridgeを使用してWorkSpacesログインイベントのログを記録してみました。イベント タイプが[All Events]および[AWS API Call via CloudTrail]で、WorkSpaces の EventBridge ルールを作成することもできます。
Reference : WorkSpaces Login Events